Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- PHP error handle



  A String is not an Error

I decided to write a little article to discourage an unfortunately common pattern in Node.JS modules (and browser JavaScript, to a lesser extent) that can boil down to these two examples: // A:function myFunction () {  if (somethingWrong) {    throw 'This is my error'  }  return allGood;} and // B: async Node.JS-style callback with signature `fn(err, …)`function myFunction (callback) {  doSomethingAsync(function () {    // …    if (...

   JavaScript,Node.js,String,Error object     2011-12-23 08:00:32

  Using JavaScript to operate clipboard

Browsers allow JavaScript to read and write data on clipboard. Generally script should not modify user's clipboard to avoid impacting user expectation, but there are cases where this can indeed bring convenience to users. For example, for some code snippet, user can copy it to clipboard with one click instead of select and copy manually. There are three options for clipboard operation provided in JavaScript/browser: document.execCommand() Asynchronous Clipboard API copy and paste events This p...

   JAVASCRIPT,CLIPBOARD,NAVIGATOR.CLIPBOARD     2021-01-23 23:23:34

  A strange behavior of printing struct with nested struct in GoLang

Normally when trying to print a struct , we would use %v to show all data of the struct. It will print the default format for each field in the struct. %v the value in a default format when printing structs, the plus flag (%+v) adds field names But recently we observed a strange behavior when printing a struct with nested struct which has a String() string implemented, the %v format prints an 'unexpected' output per our understanding.   Let's see the example snippet first. pa...

   PROGRAMMING,GOLANG     2018-10-29 09:59:49

  TIOBE : Where is that next big programming language?

TIOBE has released the Programming Community Index for May 2012 a bit late. The top 3 languages do not change compared to last Month TIOBE : C overtakes Java as the No.1 programming language, they are still C,Java and C++. However, the share of Java is continuing dropping, Objective-C is steadily rising  Other languages which have rising trend are Visual Basic.NET,PL/SQL and Logo.The last 8 years not much has changed in the top 10 of the TIOBE index except for Objective-C (in) and Del...

   TIOBE,2012,May,King     2012-05-12 01:18:27

  API Design is UI for Developers

I’ve been thinking a lot about APIs and their design recently.I stumbled on this fantastic quote from Greg Parker: A programming language is a user interface for developers. Language authors should learn from HCI principles.22/02/2012 19:10 via webReplyRetweetFavorite@gparkerGreg ParkerWhen I first started learning C++ (back in the bad old days) I was convinced that any 1st year student could design a better programming language. One which behaved in a sane fashion without a lot of le...

   API design,UI,developers,PHP     2012-03-11 13:21:43

  How does MySQL handle DROP TABLE

A few days ago, when executing DROP TABLE in MySQL, all processes including DDL and DML were hung until DROP TABLE was completed. I am confused about this phenomenon. I have reviewed the source codes of MySQL to check how MySQL internally handle DROP TABLE. When user trigger DROP TABLE command: ########################MySQL SERVER drop table######################## /* Sql_table.cc  delete (drop) tables. */bool mysql_rm_table( )   /*   Execute the drop of a normal or temporary...

   MySQL,DROP TABLE     2012-09-24 11:34:05

  mysql_fetch_array(),mysql_fetch_assoc() and mysql_fetch_row()

In PHP MySQL mannual. There are three functions which need to be clarified for some users who may get confused when choosing which one to use to get the result. mysql_fetch_array() : by seeting the different parameters, there are three ways to return the result set. MYSQL_ASSOC(Result set with field names as the associative indexs.It means you can use the field name as the index to get value of the specified cell). MYSQL_NUM(Result set with field names as the number indices). Or MYSQL_BOTH(...

   PHP,MySQL,resultset,comparison,mysql_fet     2011-08-05 04:53:09

  Building The Linux Kernel In 60 Seconds

In less than one minute, it's now possible to build the Linux kernel from source on a desktop. Besides finishing up the Phoronix Test Suite 3.6-Arendal release this weekend, on Saturday I began running some new Intel CPU benchmarks. In building the Linux 3.1 kernel for x86_64 in a default configuration (make defconfig), I've now managed to trim down the compile time to less than sixty seconds on a single-socket desktop system. Similar speeds can be achieved out of multi-socket servers and othe...

   Linux kernal,Build,Intel processor,sgort time     2011-12-12 07:45:32

  Multiple Constructor in PHP

See code:class MultipleConstructor {private $info = ”;function __construct() {$argv = func_get_args();switch( func_num_args() ){default:case 1:self::__construct1($argv[0]);break;case 2:self::__construct2( $argv[0], $argv[1] );break;}}function __construct1($value) {$this->info = $value;}function __construct2($value, $value2) {$this->info = $value . ” ” . $value2;}function get() {return $this->info;}}$a = new MultipleConstructor(‘Value 1′);echo $a->get();$...

   PHP,Constructor,Multiple constructor     2011-10-01 02:28:22

  Fix issue "cannot load such file -- bcrypt_ext (LoadError)"

bcrypt() is a sophisticated and secure hash algorithm designed by The OpenBSD project for hashing passwords. The bcrypt Ruby gem provides a simple wrapper for safely handling passwords. However, sometimes the rails application would fail to start after installing the bcrypt gem on Windows. The error would look similar to below. The issue is that it fails to load the bcrypt_ext which is the native built extension, the reason may be the library is wrongly built. To fix this issue, below steps can...

   RUBY,SOLUTION,RUBY ON RAILS,BCRYPT,LOAD ERROR     2017-03-05 00:21:10